﻿<%@ Page Language="C#" MasterPageFile="~/MasterPages/MasterPage.Master" AutoEventWireup="true"
    CodeBehind="Aplicaciones.aspx.cs" Inherits="WebSite.Egresado.Aplicaciones" Title="Aplicaciones"
    MaintainScrollPositionOnPostback="true" %>

<asp:Content ID="Content_Header" ContentPlaceHolderID="ContentPlaceHolder_Header"
    runat="server">
    <div id="SignOutDiv">
        <asp:Button ID="Button_LogOff" runat="server" Text="Salir" onclick="Button_LogOff_Click" />
    </div>
</asp:Content>

<asp:Content ID="Content_Sidebar" ContentPlaceHolderID="ContentPlaceHolder_Sidebar"
    runat="server">
    <li><a href="Perfil.aspx">Mi Perfil</a></li>
    <li><a href="Vacantes.aspx">Vacantes</a></li>
    <li><a href="Aplicaciones.aspx">Aplicaciones</a></li>
    <li><a href="VerEmpresas.aspx">Ver Empresas</a></li>
</asp:Content>

<asp:Content ID="Content_Content" ContentPlaceHolderID="ContentPlaceHolder_Content" runat="server">
    <div class="Header2">
        Aplicaciones activas
        <asp:Button ID="Button_MostrarPanelAplicacionesActivas" runat="server" Text="▼" 
            onclick="Button_MostrarPanelAplicacionesActivas_Click" />
    </div>
    <asp:Panel ID="Panel_AplicacionesActivas" runat="server" Visible="False">
        <br />
        <asp:GridView ID="GridView_AplicacionesActivas" runat="server" 
            AutoGenerateColumns="False" DataKeyNames = "ID" 
            OnSelectedIndexChanged="GridView_AplicacionesActivas_SelectedIndexChanged">
            <Columns>            
                <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" Visible="false" />                
                <asp:TemplateField HeaderText="Datos de Vacante">
                    <ItemTemplate>
                        <b>Empresa:</b>
                        <%# Eval("VacanteEmpresa")%>
                        <br />
                        <b>Carrera:</b>
                        <%# Eval("VacanteCarrera")%>   
                        <br />                            
                        <b>Puesto:</b>
                        <%# EvaluateIfPuestoEqualsNull_Aplicaiones()%>                                
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="FechaPublicacion" HeaderText="Fecha de Publicacion" ReadOnly="True" />
                <asp:TemplateField HeaderText="Comentario">
                    <ItemTemplate>
                        <%# EvaluateIfComentarioEqualsNull()%>
                    </ItemTemplate>                
                </asp:TemplateField>
            </Columns>
            <EmptyDataTemplate>
                <asp:Label ID="Label_NoAplicacionesActivas" runat="server" SkinID="MensajeError" Text="Usted no tiene ninguna aplicación activa" Visible="true"></asp:Label>
            </EmptyDataTemplate>
        </asp:GridView>   
        <br />
            <asp:Button ID="Button_DesactivarAplicacion" runat="server" 
            Text="Cancelar Aplicacion" Enabled="False" 
            onclick="Button_DesactivarAplicacion_Click" EnableViewState="False" />
        <br />     
        <asp:Panel ID="Panel_DatosVacante" runat="server" Visible="False" 
            EnableViewState="False">
            <h4>Datos de Vacante</h4>
            <asp:GridView ID="GridView_DatosVacanteAplicacionActiva" runat="server" AutoGenerateColumns="False"
                DataSourceID="LinqDataSource_DatosVacanteAplicacionActiva" EnableTheming="false"
                SkinID="Summary" EnableViewState="False" 
                onrowdatabound="GridView_DatosVacanteAplicacionActiva_RowDataBound">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                                    <h5 class="DatosVacanteHR">Publicante</h5>
                                    <div class="center">
                                        <asp:Image ID="Image_LogoEmpresa" runat="server" SkinID="Avatar" />
                                        <br />
                                        <%# Eval("Empresa.Nombre")%>
                                        </div>
                                    <h5 class="DatosVacanteHR">Puesto</h5>
                                    <%# EvaluateIfPuestoEqualsNull() %>
                                    <h5 class="DatosVacanteHR">Descripción</h5>
                                    <%# Eval("Descripcion")%>
                                    <h5 class="DatosVacanteHR">Carrera</h5>
                                    <%# Eval("Carrera.Descripcion")%>
                                    <h5 class="DatosVacanteHR">Habilidades requeridas</h5>
                                    <asp:ListBox ID="ListBox_DatosVacanteHabilidades" runat="server" 
                                        DataSourceID="LinqDataSource_DatosVacanteHabilidadesAplicacionActiva" 
                                        DataTextField="Descripcion" Width="300px">                                        
                                    </asp:ListBox>
                                    <asp:Label ID="Label_DatosVacanteNoHabilidades" runat="server" SkinID="MensajeError" 
                                    Text="No Especificado" Visible="false"></asp:Label>
                                    <h5 class="DatosVacanteHR">Postgrados requeridos</h5>
                                    <asp:ListBox ID="ListBox_DatosVacanteEspecialidades" runat="server"
                                        DataSourceID="LinqDataSource_DatosVacanteEspecialidadesAplicacionActiva"
                                        DataTextField="Descripcion" Width="300px"></asp:ListBox>
                                    <asp:Label ID="Label_DatosVacanteNoPostgrados" runat="server" SkinID="MensajeError" 
                                    Text="No Especificado" Visible="false"></asp:Label>
                                    <br />
                                    <br />
                                    <hr class="DatosVacanteHR" /> 
                                    <span>
                                        Esta vacante ha estado en el sistema desde
                                        <br />
                                        <span class="LetraRoja">
                                            <%# Eval("FechaPublicacion")%>
                                        </span>
                                        <br />
                                        y permanecerá en él hasta
                                        <br />
                                        <span class="LetraRoja">
                                            <%# Eval("FechaCierre")%>
                                        </span>
                                        <br />
                                        Aplicaciones activas actualmente: 
                                        <span class="LetraRoja">
                                         	<%# ContarAplicacionesActivas() %>
                                        </span>
                                    </span>
                                </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
            <br />
            <asp:LinqDataSource ID="LinqDataSource_DatosVacanteAplicacionActiva" runat="server"
                ContextTypeName="BLL.DataContextClasses.DataClassesDataContext"
                Select="new (ID, Empresa, Carrera, Paise, FechaPublicacion, FechaCierre, Descripcion, Aplicaciones, Puesto)" 
                TableName="Vacantes" EnableViewState="False" Where="ID == @ID_Vacante">
                <WhereParameters>
                    <asp:Parameter Name="ID_Vacante" Type="Int32" DefaultValue="0" />
                </WhereParameters>
            </asp:LinqDataSource>
            <asp:LinqDataSource ID="LinqDataSource_DatosVacanteHabilidadesAplicacionActiva" runat="server"
                ContextTypeName="BLL.DataContextClasses.DataClassesDataContext" Select="new (Habilidade.Descripcion)"
                TableName="Vacantes_Habilidades" EnableViewState="False" Where="ID_Vacante == @ID_Vacante">
                <WhereParameters>
                    <asp:Parameter Name="ID_Vacante" Type="Int32" DefaultValue="0" />
                </WhereParameters>
            </asp:LinqDataSource>
            <asp:LinqDataSource ID="LinqDataSource_DatosVacanteEspecialidadesAplicacionActiva"
                runat="server" ContextTypeName="BLL.DataContextClasses.DataClassesDataContext"
                Select="new (Postgrado.Descripcion)" TableName="Vacantes_Postgrados" EnableViewState="False"
                Where="ID_Vacante == @ID_Vacante">
                <WhereParameters>
                    <asp:Parameter Name="ID_Vacante" Type="Int32" DefaultValue="0" />
                </WhereParameters>
            </asp:LinqDataSource>
        </asp:Panel>  
    </asp:Panel>    
    <div class="Header2">
        Aplicaciones inactivas
        <asp:Button ID="Button_MostrarAplicacionesInactivas" runat="server" Text="▼" 
            onclick="Button_MostrarAplicacionesInactivas_Click" />
    </div>
    <asp:Panel ID="Panel_AplicacionesInactivas" runat="server" Visible="False" >
        <br />
        <asp:GridView ID="GridView_AplicacionesInactivas" runat="server" AutoGenerateColumns="False"
            DataKeyNames="ID" OnSelectedIndexChanged="GridView_AplicacionesInactivas_SelectedIndexChanged">
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" Visible="false" />                
                <asp:TemplateField HeaderText="Datos de Vacante">
                    <ItemTemplate>
                        <b>Empresa:</b>
                        <%# Eval("VacanteEmpresa")%>
                        <br />
                        <b>Carrera:</b>
                        <%# Eval("VacanteCarrera")%>   
                        <br />                            
                        <b>Puesto:</b>
                        <%# EvaluateIfPuestoEqualsNull_Aplicaiones()%>                                
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="FechaPublicacion" HeaderText="Fecha de Publicacion" ReadOnly="True" />
                <asp:TemplateField HeaderText="Comentario">
                    <ItemTemplate>
                        <%# EvaluateIfComentarioEqualsNull()%>
                    </ItemTemplate>                
                </asp:TemplateField>
            </Columns>
            <EmptyDataTemplate>
                <asp:Label ID="Label_NoAplicacionesInactivas" runat="server" SkinID="MensajeError"
                    Text="Usted no tiene ninguna aplicación inactiva" Visible="true"></asp:Label>
            </EmptyDataTemplate>
        </asp:GridView>        
        <asp:Label ID="Label_MensajeErrorVacanteInactiva" runat="server" SkinID="MensajeError"
            Text="La vacante correspondiente a esta aplicacion ya no existe" 
            Visible="False" EnableViewState="False"></asp:Label>
        <br />
        <asp:Button ID="Button_ActivarAplicacion" runat="server" 
            Text="Reactivar aplicacion" Enabled="False" EnableViewState="False" 
            onclick="Button_ActivarAplicacion_Click" />            
        <asp:Panel ID="Panel_DatosVacanteAplicacionInactiva" runat="server" 
            Visible="False" EnableViewState="False">
            <h4>Datos de Vacante</h4>
            <asp:GridView ID="GridView_DatosVacanteAplicacionInactiva" runat="server" AutoGenerateColumns="False"
                DataSourceID="LinqDataSource_DatosVacanteAplicacionInactiva" EnableTheming="false"
                SkinID="Summary" EnableViewState="False" 
                onrowdatabound="GridView_DatosVacanteAplicacionInactiva_RowDataBound">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                                    <h5 class="DatosVacanteHR">Publicante</h5>
                                    <div class="center">
                                        <asp:Image ID="Image_LogoEmpresa" runat="server" SkinID="Avatar" />
                                        <br />
                                        <%# Eval("Empresa.Nombre")%>
                                        </div>
                                    <h5 class="DatosVacanteHR">Puesto</h5>
                                    <%# EvaluateIfPuestoEqualsNull() %>
                                    <h5 class="DatosVacanteHR">Descripción</h5>
                                    <%# Eval("Descripcion")%>
                                    <h5 class="DatosVacanteHR">Carrera</h5>
                                    <%# Eval("Carrera.Descripcion")%>
                                    <h5 class="DatosVacanteHR">Habilidades requeridas</h5>
                                    <asp:ListBox ID="ListBox_DatosVacanteHabilidades" runat="server" 
                                        DataSourceID="LinqDataSource_DatosVacanteHabilidadesAplicacionInactiva" 
                                        DataTextField="Descripcion" Width="300px">                                        
                                    </asp:ListBox>
                                    <asp:Label ID="Label_DatosVacanteNoHabilidades" runat="server" SkinID="MensajeError" 
                                    Text="No Especificado" Visible="false"></asp:Label>
                                    <h5 class="DatosVacanteHR">Postgrados requeridos</h5>
                                    <asp:ListBox ID="ListBox_DatosVacanteEspecialidades" runat="server"
                                        DataSourceID="LinqDataSource_DatosVacanteEspecialidadesAplicacionInactiva"
                                        DataTextField="Descripcion" Width="300px"></asp:ListBox>
                                    <asp:Label ID="Label_DatosVacanteNoPostgrados" runat="server" SkinID="MensajeError" 
                                    Text="No Especificado" Visible="false"></asp:Label>
                                    <br />
                                    <br />
                                    <hr class="DatosVacanteHR" /> 
                                    <span>
                                        Esta vacante ha estado en el sistema desde
                                        <br />
                                        <span class="LetraRoja">
                                            <%# Eval("FechaPublicacion")%>
                                        </span>
                                        <br />
                                        y permanecerá en él hasta
                                        <br />
                                        <span class="LetraRoja">
                                            <%# Eval("FechaCierre")%>
                                        </span>
                                        <br />
                                        Aplicaciones activas actualmente: 
                                        <span class="LetraRoja">
                                         	<%# ContarAplicacionesActivas() %>
                                        </span>
                                    </span>
                                </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>            
            <asp:LinqDataSource ID="LinqDataSource_DatosVacanteAplicacionInactiva" runat="server"
                ContextTypeName="BLL.DataContextClasses.DataClassesDataContext"
                Select="new (ID, Empresa, Carrera, Paise, FechaPublicacion, FechaCierre, Descripcion, Aplicaciones, Puesto)" 
                TableName="Vacantes" EnableViewState="False" Where="ID == @ID_Vacante">
                <WhereParameters>
                    <asp:Parameter Name="ID_Vacante" Type="Int32" DefaultValue="0" />
                </WhereParameters>
            </asp:LinqDataSource>
            <asp:LinqDataSource ID="LinqDataSource_DatosVacanteHabilidadesAplicacionInactiva" runat="server"
                ContextTypeName="BLL.DataContextClasses.DataClassesDataContext" Select="new (Habilidade.Descripcion)"
                TableName="Vacantes_Habilidades" EnableViewState="False" Where="ID_Vacante == @ID_Vacante">
                <WhereParameters>
                    <asp:Parameter Name="ID_Vacante" Type="Int32" DefaultValue="0" />
                </WhereParameters>
            </asp:LinqDataSource>
            <asp:LinqDataSource ID="LinqDataSource_DatosVacanteEspecialidadesAplicacionInactiva"
                runat="server" ContextTypeName="BLL.DataContextClasses.DataClassesDataContext"
                Select="new (Postgrado.Descripcion)" TableName="Vacantes_Postgrados" EnableViewState="False"
                Where="ID_Vacante == @ID_Vacante">
                <WhereParameters>
                    <asp:Parameter Name="ID_Vacante" Type="Int32" DefaultValue="0" />
                </WhereParameters>
            </asp:LinqDataSource>
        </asp:Panel>
    </asp:Panel>
</asp:Content>
